Python面向对象编程从零开始(1)——从没对象到有对象
(点击上方Python爱好者社区,可快速关注)
作者:王大伟
博客专栏:https://www.hellobi.com/u/wangdawei/articles
Python爱好者社区 唯一小编
前言
最近在写关于自然语言处理的文章,but,没对象啊,这可是个大问题。
莫慌,看完本文,你就能有对象了。
人生苦短,我选Python,其他空余的时间可以和对象一起玩耍。。。(此处省略n字)
对象和类
当然,此对象非彼对象。
360百科对对象的描述如下:
还记得小时候玩过的印章么,hellokitty那种印章:
360百科我表示看不懂,那就举个栗子。
如果对象是一个具体的存在,而类是产生对象的模版(为了帮助理解,描述的可能不是那么准确)
就像印章是类,对象则是印出来的图形。
就像化妆品是类,则CHANEL、Lancôme、Estee Lauder、Christian Dior等是对象(我也不知道我怎么会知道这些。。。)。
所以类是对对象的抽象。
面向对象和面向过程
我们一开始,例如大学学的C语言,是面向过程的,总的执行流程是顺序的,任何功能等的实现都是自己要写代码的。
现在说的面向对象和之前熟悉的面向过程可用下面的例子解释:
假如你想吃烤鱼:
面向过程:自己动手,从买鱼,洗鱼洗菜,烤鱼,加调料,装入盘子,端上桌,吃!!!(还要洗碗)
while(没吃腻):
体重++
面向对象:来到烤鱼店,点菜单,吃!!!,结账走人。
做人做要紧开心~
所以可以总结如下:
面向过程:自己靠双手按照流程解决问题。
面向对象:找个对象,让她做,自己轻松了。
两者都是解决问题的一种思路,但这个总结总是感觉哪里不对。
类的描述:类名,属性,方法
class 类名(大驼峰命名法):
#属性
#方法
def xxx():
pass
类名:类的名字
属性:类的属性
方法:类的方法
这解释。。。【掀桌
类的属性可以认为是在类里对象里定义的变量。
这里的方法,注意到是def 定义的,可以理解为函数!!!
定义一个类
class Car:
def drive(selt):
print('我正在开车')
def turnover(self):
print('翻车了')
class后面定义的就是一个名为Car的类。
def定义的是类的方法(理解为类里的函数),这里定义了两个方法,开车和翻车。
创建一个对象
年轻人,听说你没对象?
没事,我们自己创建一个。
#创建一个对象
xiao_jie_jie=Car()
xiao_jie_jie.drive()#调用xiao_jie_jie指向的对象的方法
xiao_jie_jie.turnover()
运行结果:
看来小姐姐翻车了。。。
类的三要素集合
类的名称(Car),方法(开车,翻车)都有了,还差属性。
class Car:
def drive(selt):
print('我正在开车')
def turnover(self):
print('翻车了')
#创建一个对象
xiao_jie_jie=Car()
xiao_jie_jie.drive()#调用xiao_jie_jie指向的对象的方法
xiao_jie_jie.turnover()
#添加属性,属性就是变量
xiao_jie_jie.name = '王梦瑶'
xiao_jie_jie.age = 20
print('%s的年龄是:%d'%(xiao_jie_jie.name,xiao_jie_jie.age))
这里小姐姐的名字纯属虚构(如有雷同,别喷我,你可以认为这是缘分啊~~~)
这里属性有name和age,或许可以有那啥???算了,怕被河蟹。
运行一下程序
是不是发现程序竟然可以这样写,很好玩吧,之后会连载的啦~想知道女司机的后续故事么,请持续关注!
说到做到,新福利来啦:
关注公众号,在公众号菜单点击"免费听课",即可参与活动免费听19.9元收费课程,当然,壕大大可以直接购买听课啦。
壕大大入口:https://edu.hellobi.com/course/186,点击文末阅读原文可购买
本次主打课程:
Hellobi Live | 6月6日 自然语言处理之-基于深度学习技术的聊天机器人实现
课程名称:
自然语言处理之-基于深度学习技术的聊天机器人实现
课程背景:
NLP是一个很大的领域,自成一系,本次课程通过一个企业级案例(聊天机器人)带领大家从了解项目场景开始一步步搭建,最后演示聊天机器人实例。通过本课程的学习,让你一举打开NLP的大门。
主讲老师:
Kenny,计算机硕士,曾在某上市公司和世界500强公司分别担任智能算法工程师,高级算法挖掘工程师,具有多年的大数据项目开发实战经验,坚持在代码开发的一线,设计和实现了多个大数据项目。
Kenny博客专栏:https://ask.hellobi.com/blog/KennySayHi
直播时间:
2017年6月6日晚上8点到10点
课程内容:
1、 聊天机器人概括,应用场景,分类,技术发展路线及基于深度学习技术聊天机器人
2、 基于深度学习聊天机器人训练数据收集,清洗
3、 特征工程:文本数据预处理,特征化和数值化后转化为可训练的数据
4、 LSTM组件介绍
5、 Seq2seq算法介绍
6、 Seq2seq模型的优缺点和改进
为大家提供与Python相关的最新技术和资讯。
长按指纹 > 识别图中二维码 > 添加关注